home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Animation
/
Animation Vol.1 (Profi ROM)(1994).iso
/
3ds2pov.doc
next >
Wrap
Text File
|
1993-10-04
|
13KB
|
310 lines
3DS2POV Version 1.8 Oct/93
Copyright (c) 1993 by Steve Anger and Jeff Bowermaster
This program reads a 3D Studio .3DS file and writes a POV-Ray, Vivid or
Polyray raytracer scene file. Cameras, lights, spotlights, and mesh objects
are all converted. Basic material properties such as colour, reflection,
and transparency are converted however image maps and bump maps must be
converted manually.
POV-Ray users! Since POV-Ray 2.0 has now been released to the public the
default output format has been changed to POV-Ray 2.0. If you're still
using POV-Ray 1.0 you can still generate 1.0 compatible files by using
the -op1 switch.
Hardware requirements:
The 3ds2pov.exe executable requires a minimum of a 386 or a 486 with a
math co-processor. At least 2MB RAM is recommended. It's compatible with
most 386 memory managers and DPMI servers.
Syntax: 3ds2pov inputfile[.3ds] [outputfile] [options]
Options:
-snnn - Generates smooth triangles. The boundaries between triangles
are only smoothed if the angle between the triangles is less
that nnn degrees. -s0 will not smooth any triangles while
-s180 will smooth all triangles. Values from -s45 to -s90
usually work well. If unspecified smoothing defaults to -s70.
-l<filename> - Specifies an include file containing texture declarations for
common 3DS materials. Up to 10 libraries can be specified.
-a<filename> - Use animation information in specified .vue file.
-fnnn - Generate frame nnn of animation (must be used with -a
parameter).
-x<object> - Exclude this object from the conversion.
-b<object> - Replace this object with a box during the conversion. If no
object is specified then all objects will be affected.
+i, -i - Turn internal bounding on or off for POV-Ray. If not specified
internal bounding defaults to on for POV-Ray 1.0 and off for
POV-Ray 2.0.
+v, -v - Turn verbose status messages on or off (off by default).
-op - Output to POV-Ray 2.0 format (default)
-op1 - Output to POV-Ray 1.0 format
-ov - Output to Vivid format
-ol - Output to poLyray format
-or - Output to Raw triangle format.
Note: When specifying object names on the command line, object names that
contain spaces must be enclosed in double quotes. e.g. -x"BEACH BALL"
Use:
3ds2pov robot -lrobotmtl.inc
assumes the input file is robot.3ds and outputs to robot.pov and
robot.inc in the current directory. The file robot.pov will contain
the camera, light sources, and list of materials used (basically everything
you may want to edit) and robot.inc contains the triangle mesh data.
Predefined materials in robotmtl.inc.inc will be automatically used if the
names match (case is important), otherwise 3ds2pov will generate a material
definition based on the information in the .3DS file. The files 3ds.inc and
v3ds.vs are included as examples of how to setup material libraries for
POV-Ray and Vivid.
Materials Conversion:
The 3DS to raytracer material properties conversion is functional but far
from perfect. Basic material properties such as object colour, reflection
and transparency are automatically converted but image maps, bump maps, and
reflection maps are ignored. In most cases the converted material should
match the original reasonably well however it's not uncommon for some
materials to come out completely wrong. Expect to have to do some manual
tweaking.
Smoothing:
3ds2pov doesn't use 3D Studio's smoothing group information and instead
does it's own smoothing. The amount of smoothing applied is controlled by
the -s parameter and specifies the maximum angle that will be smoothed. The
default of -s70 usually works for most scenes but you may find that some
scenes require more or less smoothing. This parameter works just like the
Auto Smooth option in 3DS.
Animation:
The animation information is exported from 3ds via a .vue file that can
be created in the 3DS keyframer (Render/Setup/Make .VUE). By specifying the
name of the .vue file and a frame number 3ds2pov will generate a scene file
for that specific frame.
e.g. 3ds2pov robot -arobot.vue -f5
The option -arobot.vue tells it to get the animation information from file
robot.vue and option -f5 tells it to render frame #5. To generate a whole
animation you can create a batch file that runs 3ds2pov and the raytracer
for each frame in the animation. The program 3dsani is included to make the
generation of this file a little easier.
Syntax: 3dsani inputfile [options]
Options:
-a<filename> - Specifies the name of the 3ds animation (.vue) file.
If unspecified defaults to inputfile.vue.
-t<filename> - Specifies the name of the template (.tpl) file.
If unspecified defaults to inputfile.tpl.
-o<filename> - Specifies the name of the output (.bat) file.
If unspecified defaults to inputfile.bat.
-snnn - Start animation at frame nnn. If unspecified the start frame
is taken from the .vue file.
-ennn - End animation at frame nnn. If unspecified the end frame is
taken from the .vue file.
-pnnn - Render every nnn'th frame. If unspecified defaults to 1.
Example:
3dsani robot -tani1.tpl
generates a batch file named robot.bat that will execute 3ds2pov and povray
once for each frame of the animation. The beginning and ending frame numbers
are determined from the file robot.vue. The format of the batch file is
determined from the template file ani1.tpl. Basically the template file is
duplicated once for each frame but with all occurrences of the characters $
and # replaced by the file name and frame number respectively. Several
sample template files are included which can be tailored to your specific
needs.
Environment Variable:
If you find that you're often using the same command options over and over
again you can set up your default command line options in the 3DS2POV
environment variable. e.g. If you generally use Vivid as your renderer you
may want to add the following line to your autoexec.bat:
set 3DS2POV=-ov
Commands specified in the environment variable will be overridden by those
specified on the command line.
Known Bugs/Problems:
Orthogonal/user viewports, and camera roll are not implemented.
Solid background colours work with POV-Ray and Polyray but not with Vivid.
Fog works with POV-Ray but not with Polyray or Vivid.
Gradient and image mapped backgrounds are not implemented.
The camera field-of-view conversion isn't perfect. The rendered FOV will be
close to the original but it won't be exact.
If the 3DS file contains more than one camera it'll use the first one it
comes across. All additional cameras will be commented out.
There is a known problem with the version of POV-Ray 1.0 that was shipped with
the Image Lab book that prevents smooth triangles from rendering. If you have
this version you can download the latest version from CompuServe or a local
BBS (look for POVIBM.ZIP).
POV-Ray 1.0 doesn't handle refraction very well for triangle meshes. If you
want realistic refraction in your image you should output to POV-Ray 2.0 with
no bounding boxes (2.0 will bound the scene itself). Also only a single
material should be used on each refracting object (don't apply materials
to individual faces).
Files included in archives:
3DS2POV.EXE - The converter.
3DSANI.EXE - Animation generation utility.
3DS2POV.DOC - This file!
SAMPLES.ZIP - Sample files.
DIAM.3DS - A sparkling diamond. Diamond data from Jeff B.
ROBOT.3DS - A simple robot animation
ROBOT.VUE - Exported animation information from ROBOT.3DS
POVDIAM.BAT - Batch file to render DIAM.3DS with POV-Ray 2.0
VIVDIAM.BAT - " " " " " " Vivid
POVROBOT.BAT - Batch file to render ROBOT.3DS animation wi